<?php
include('class_connect_db.inc'); 

class product 
{
	//proprieta
	private $id;
	private $nome;
	private $marca;
	private $descrizione;
	private $prezzo;
	private $quantita;
	private $vetrina;
	private $immagine;
	private $obsoleto;
	private $time;
	private $subcategory;
	private $db; //collegamento alla classe 'connect_db'
	
	function __construct()
	{
		$this->id=null;
		$this->nome=null;
		$this->marca=null;
		$this->descrizione=null;
		$this->prezzo=null;
		$this->quantita=null;
		$this->vetrina=null;
		$this->immagine=null;
		$this->obsoleto=null;
		$this->time=null;
		$this->subcategory=null;
		
		$this->db= new connect_db();
	}
	
// ********************************************TUTTI I GET DELLE PROPRIETA'**********************************************

	function get_nome()
	{
		return $this->nome;	
	}
	
	function get_marca()
		{
			return $this->marca;	
		}
		
	function get_descrizione()
		{
			return $this->descrizione;	
		}
		
	function get_prezzo()
		{
			return $this->prezzo;	
		}
		
	function get_quantita()
		{
			return $this->quantita;	
		}
		
	function get_vetrina()
		{
			return $this->vetrina;	
		}
		
	function get_immagine()
		{
			return $this->immagine;	
		}
		
	function get_obsoleto()
		{
			return $this->obsoleto;	
		}
	
	function get_time()
		{
			return $this->time;	
		}
		
	function get_subcategory()
		{
			return $this->subcategory;	
		}
		
//**********************************************TUTTI I SET DELLE PROPRIETA'**********************************
	function set_nome($nome)
	{
		$this->nome=$nome;
	}	
	
	function set_marca($marca)
	{
		$this->marca=$marca;
	}	
	
	function set_descrizione($descrizione)
	{
		$this->descrizione=$descrizione;
	}	
	
	function set_prezzo($prezzo)
	{
		$this->prezzo=$prezzo;
	}	
	
	function set_quantita($quantita)
	{
		$this->quantita=$quantita;
	}	
	
	function set_vetrina($vetrina)
	{
		$this->vetrina=$vetrina;
	}	
	
	function set_immagine($immagine)
	{
		$this->immagine=$immagine;
	}	
	
	function set_obsoleto($obsoleto)
	{
		$this->nome=$obsoleto;
	}	
	
	function set_time($time)
	{
		$this->time=$time;
	}	
	
	function set_subcategory($subcategory)
	{
		$this->subcategory=$subcategory;
	}	
	

//******************************************************FUNZIONI**********************************	
	
	
	function read_product($nome,$marca)//funzione leggi prodotto e restituisce id
	{
		$this->db->connectSQL();
		$this->db->Exec_Query("select id from product where nome=='$nome' and marca=='$marca'");
		if ($this->db->ReturnNum()==1)
		{
			$this->db->DisconnectSQL();
			return $this->db->ReturnResult(0,id);
		}
		else {
			$this->db->DisconnectSQL();
			return null;
		}
	}
	
	function load_product_by_id($id)//da id restituisce l'intero prodotto
	{
		$this->db->connectSQL();
		$this->db->Exec_Query("select * from product where id=='$id'");
		//settaggi dei valori restituti dalla query
		$this->nome = $this->db->ReturnResult(0, 'nome');
		$this->marca = $this->db->ReturnResult(0,'marca');
		$this->descrizione= $this->db->ReturnResult(0,'descrizione');
		$this->prezzo= $this->db->ReturnResult(0,'prezzo');
		$this->quantita= $this->db->ReturnResult(0,'quantita');
		$this->vetrina= $this->db->ReturnResult(0,'vetrina');
		$this->immagine=$this->db->ReturnResult(0,'immagine');
		$this->obsoleto=$this->db->ReturnResult(0,'obsoleto');
		$this->time= $this->db->ReturnResult(0,'time');
		$this->subcategory=$this->db->ReturnResult(0,'subcategory');
		//chiudo connessione db
		$this->db->DisconnectSQL();
	}

	
	function get_all_product()
	{
		$this->db->connectSQL();
		$this->db->Exec_Query("select * from product");
		$numero_di_prodotti=$this->db->ReturnNum();
		$lista_product= array();
		for($i;$i<$numero_di_prodotti;$i++)
		{
			$lista_product[$i]= $this->db->ReturnResult($i,'id');
		}
		$this->db->DisconnectSQL();
		return $lista_product;
	}
	
	function load_product($nome,$marca)
	{
		$id_temp_product=$this->read_product($nome,$marca);
		if ($id_temp_product != null)
		{
			$this->db->connectSQL();
			$this->db->Exec_Query("select * from product where id=='$id_temp_product'");
			$this->id=$id_temp_product;
			$this->nome = $this->db->ReturnResult(0, 'nome');
			$this->marca = $this->db->ReturnResult(0,'marca');
			$this->descrizione= $this->db->ReturnResult(0,'descrizione');
			$this->prezzo= $this->db->ReturnResult(0,'prezzo');
			$this->quantita= $this->db->ReturnResult(0,'quantita');
			$this->vetrina= $this->db->ReturnResult(0,'vetrina');
			$this->immagine=$this->db->ReturnResult(0,'immagine');
			$this->obsoleto=$this->db->ReturnResult(0,'obsoleto');
			$this->time= $this->db->ReturnResult(0,'time');
			$this->subcategory=$this->db->ReturnResult(0,'subcategory');
		}
	}
	
	function new_product($nome,$marca,$descrizione,$prezzo,$quantita,$vetrina,$immagine,$obsoleto,$time,$subcategory)
	{
		$this->db->connectSQL();
		$this->db->Exec_Query("insert into product values('','$nome','$marca','$descrizione',$prezzo,$quantita,'$vetrina','$immagine','$obsoleto',$time,$subcategory)");
		$this->db->DisconnectSQL();
		$this->id=$this->read_product($nome,$marca);
		$this->nome = $nome;
		$this->marca = $marca;
		$this->descrizione = $descrizione;
		$this->prezzo = $prezzo;
		$this->quantita = $quantita;
		$this->vetrina = $vetrina;
		$this->immagine = $immagine;
		$this->obsoleto = $obsoleto;
		$this->time = $time;
		$this->subcategory=$subcategory;
	}
		
	function delete_product()
	{
		$this->db->connectSQL();
		$this->db->Exec_Query("delete from product where id==$this->$id");
		$this->db->DisconnectSQL();
	}
	
	function update_product()
	{
		$this->db->connectSQL();
		$this->db->Exec_Query("update product set nome='$this->nome',marca='$this->marca',descrizione='$this->descrizione',prezzo='$this->prezzo',quntita='$this->quantita',vetrina='$this->vetrina',immagine='$this->immagine',obsoleto='$this->obsoleto',time='$this->time',subcategory='$this->subcategory')");
		$this->db->DisconnectSQL();	
	}
	
	
	
	
}